FROM python:3.13-slim

LABEL org.opencontainers.image.title="legal-sz-hk-trial"
LABEL org.opencontainers.image.description="深港跨境民商事案件法律分析 Skill — 要件审判九步法 + 冲突规范双层框架"
LABEL org.opencontainers.image.version="1.0.0"

WORKDIR /app

# 安装系统依赖（playwright 浏览器需要）
RUN apt-get update && apt-get install -y --no-install-recommends \
    curl \
    libnss3 \
    libnspr4 \
    libdbus-1-3 \
    libatk-bridge2.0-0 \
    libatspi2.0-0 \
    libxcomposite1 \
    libxdamage1 \
    libxfixes3 \
    libxrandr2 \
    libgbm1 \
    libxkbcommon0 \
    libasound2 \
    fonts-liberation \
    && rm -rf /var/lib/apt/lists/*

# 复制 skill 文件
COPY . /app/

# 安装 Python 依赖
RUN pip install --no-cache-dir -q fastmcp \
    && (pip install --no-cache-dir -q -r mcp/hk-judgments/requirements.txt 2>/dev/null || true) \
    && (pip install --no-cache-dir -q -r mcp/hk-legislation/requirements.txt 2>/dev/null || true) \
    && (pip install --no-cache-dir -q -r scripts/requirements.txt 2>/dev/null || true)

# 安装 Chromium（browser-use 降级用）
RUN python -m playwright install chromium 2>/dev/null || true

# 验证 MCP 数据
RUN python -c "
import sys,os,importlib.util,json
f='/app/mcp/hk-judgments/server.py'
d=os.path.dirname(f);sys.path.insert(0,d)
s=importlib.util.spec_from_file_location('j',f)
m=importlib.util.module_from_spec(s);s.loader.exec_module(m)
assert len(m.LANDMARK_CASES)==154,'hk-judgments load failed'
print(f'✓ hk-judgments: {len(m.LANDMARK_CASES)} cases loaded')
" && python -c "
import sys,os,importlib.util
f='/app/mcp/hk-legislation/server.py'
d=os.path.dirname(f);sys.path.insert(0,d)
s=importlib.util.spec_from_file_location('l',f)
m=importlib.util.module_from_spec(s);s.loader.exec_module(m)
print('✓ hk-legislation: loaded')
" && echo "=== All checks passed ==="

CMD ["python", "-c", "print('legal-sz-hk-trial v1.0.0 ready.\\nMCP servers: hk-judgments (154 cases) + hk-legislation.\\nConnect to WorkBuddy to use.')"]
